// @author: caoshi
// @date: 2021-05-15 09:57
// 响应实体对象
package resp

import (
	"bytes"
	"encoding/json"
)

/*
	响应实体
*/
type Bean struct {
	code   int         // 状态码
	msg    string      // 信息
	data   interface{} // 数据
}

// 404 未找到
func NotFindErr() Bean {
	return Bean{404, "未找到", nil}
}

// 500 服务器内部错误
func FiveHundred() Bean {
	return Bean{500, "服务器内部错误", nil}
}

// 成功
func Success(msg string, data interface{}) Bean {
	return Bean{200, msg, data}
}

// 失败
func Error(msg string) Bean {
	return Bean{500, msg, nil}
}

//func SuccessStr(msg string, data interface{}) string {
//	byt, _ := json.Marshal(Bean{200, msg, data})
//	return bytes.NewBuffer(byt).String()
//}

/**
	响应对象转字符串
 */
func (bean Bean) GetRespString() string {
	byt, err := json.Marshal(bean)
	if err != nil {
		return "{\"code\": -1,\"msg\": \"failed\", \"data\": nil}"
	}

	return bytes.NewBuffer(byt).String()
}
